package com.health.tablebean.webservice;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.health.NovaApplication;
import com.health.db.FDbManager;
import com.health.tablebean.OLDER_SELFCAREABILITY;
import com.health.tablebean.OLD_MEDICINE_CN;
import com.health.tablebean.OLD_MEDICINE_RESULT;
import com.health.tools.GlobalConts;

import android.content.Context;
import android.text.TextUtils;

/**
 * @author Administrator 老年人中医药健康管理
 */
public class OldPhysique {
	private String col001; // (1)您精力充沛吗？（指精神头足，乐于做事）
	private String col002; // (2)您容易疲乏吗？（指体力如何，是否稍微活动一下或做一点家务劳动就感到累）
	private String col003;// (3)您容易气短，呼吸短促，接不上气吗？
	private String col004;// (4)您说话声音低弱无力吗? （指说话没有力气）
	private String col005;// (5)您感到闷闷不乐、情绪低沉吗?（指心情不愉快，情绪低落）
	private String col006;// (6)您容易精神紧张、焦虑不安吗?（指遇事是否心情紧张）
	private String col007;// (7)您因为生活状态改变而感到孤独、失落吗？
	private String col008;// (8)您容易感到害怕或受到惊吓吗?
	private String col009;// (9)您感到身体超重不轻松吗?(感觉身体沉重)[BMI 指数=体重（kg）/身高 2（m）]
	private String col010;// (10)您眼睛干涩吗?
	private String col011;// (11)您手脚发凉吗?（不包含周围温度低或穿的少导致的 手脚发冷）
	private String col012;// (12)您胃脘部、背部或腰膝部 怕冷吗？（指上腹部、背部、 腰部或膝关节等，有一处或多 处怕冷）
	private String col013;// (13)您比一般人耐受不了寒 冷吗？（指比别人容易害怕冬 天或是夏天的冷空调、电扇 等)
	private String col014;// (14)您容易患感冒吗?（指每 年感冒的次数）
	private String col015;// (15)您没有感冒时也会鼻塞、 流鼻涕吗?
	private String col016;// (16)您有口黏口腻，或睡眠打 鼾吗？
	private String col017;// (17)您容易过敏(对药物、食 物、气味、花粉或在季节交替、 气候变化时)吗?
	private String col018;// (18)您的皮肤容易起荨麻疹 吗? (包括风团、风疹块、风 疙瘩)
	private String col019;// (19)您的皮肤在不知不觉中 会出现青紫瘀斑、皮下出血
							// 吗?（指皮肤在没有外伤的情况下出现青一块紫一块的情 况）
	private String col020;// (20)您的皮肤一抓就红，并出 现抓痕吗?（指被指甲或钝物 划过后皮肤的反应）
	private String col021;// (21)您皮肤或口唇干吗?
	private String col022;// (22)您有肢体麻或固定部位 疼痛的感觉吗？
	private String col023;// (23)您面部或鼻部有油腻感 或者油亮发光吗?（指脸上或 鼻子）
	private String col024;// (24)您面色或目眶晦黯，或出 现褐色斑块/斑点吗?
	private String col025;// (25)您有皮肤湿疹、疮疖吗？
	private String col026;// (26)您感到口干咽燥、总想喝 水吗？
	private String col027;// (27)您感到口苦或嘴里有异 味吗?（指口苦或口臭）
	private String col028;// (28)您腹部肥大吗?（指腹部脂肪肥厚）
	private String col029;// (29)您吃(喝)凉的东西会感到不舒服或者怕吃(喝)凉的东西吗？（指不喜欢吃凉的食物，或吃了凉的食物后会不舒服）
	private String col030;// (30)您有大便黏滞不爽、解不尽的感觉吗?(大便容易粘在马桶上)
	private String col031;// (31)您容易大便干燥吗?
	private String col032;// (32)您舌苔厚腻或有舌苔厚厚的感觉吗?（如果自我感觉不清楚可由调查员观察后填写）
	private String col033; // (33)您舌下静脉瘀紫或增粗吗？（可由调查员辅助观察后填写）
	private String cardid; // 居民身份证/健康卡号
	private String createorg; // 创建机构
	private String creater;// 创建人
	private String createtime;// 创建时间
	private String happentime;// 随访时间
	private String modified;// 修改人
	private String res4;// 体质辨识指导
	private String res6;// 中医药保健指导 其他
	private String updateorg;// 更新机构
	private String updatetime;// 更新时间
	private String res8 = "2";// 数据来源 空为公卫，'1'为手提箱，'2'为PAD。

	public String getRes8() {
		return res8;
	}

	public void setRes8(String res8) {
		this.res8 = res8;
	}

	public String getCol001() {
		return col001;
	}

	public void setCol001(String col001) {
		this.col001 = col001;
	}

	public String getCol002() {
		return col002;
	}

	public void setCol002(String col002) {
		this.col002 = col002;
	}

	public String getCol003() {
		return col003;
	}

	public void setCol003(String col003) {
		this.col003 = col003;
	}

	public String getCol004() {
		return col004;
	}

	public void setCol004(String col004) {
		this.col004 = col004;
	}

	public String getCol005() {
		return col005;
	}

	public void setCol005(String col005) {
		this.col005 = col005;
	}

	public String getCol006() {
		return col006;
	}

	public void setCol006(String col006) {
		this.col006 = col006;
	}

	public String getCol007() {
		return col007;
	}

	public void setCol007(String col007) {
		this.col007 = col007;
	}

	public String getCol008() {
		return col008;
	}

	public void setCol008(String col008) {
		this.col008 = col008;
	}

	public String getCol009() {
		return col009;
	}

	public void setCol009(String col009) {
		this.col009 = col009;
	}

	public String getCol010() {
		return col010;
	}

	public void setCol010(String col010) {
		this.col010 = col010;
	}

	public String getCol011() {
		return col011;
	}

	public void setCol011(String col011) {
		this.col011 = col011;
	}

	public String getCol012() {
		return col012;
	}

	public void setCol012(String col012) {
		this.col012 = col012;
	}

	public String getCol013() {
		return col013;
	}

	public void setCol013(String col013) {
		this.col013 = col013;
	}

	public String getCol014() {
		return col014;
	}

	public void setCol014(String col014) {
		this.col014 = col014;
	}

	public String getCol015() {
		return col015;
	}

	public void setCol015(String col015) {
		this.col015 = col015;
	}

	public String getCol016() {
		return col016;
	}

	public void setCol016(String col016) {
		this.col016 = col016;
	}

	public String getCol017() {
		return col017;
	}

	public void setCol017(String col017) {
		this.col017 = col017;
	}

	public String getCol018() {
		return col018;
	}

	public void setCol018(String col018) {
		this.col018 = col018;
	}

	public String getCol019() {
		return col019;
	}

	public void setCol019(String col019) {
		this.col019 = col019;
	}

	public String getCol020() {
		return col020;
	}

	public void setCol020(String col020) {
		this.col020 = col020;
	}

	public String getCol021() {
		return col021;
	}

	public void setCol021(String col021) {
		this.col021 = col021;
	}

	public String getCol022() {
		return col022;
	}

	public void setCol022(String col022) {
		this.col022 = col022;
	}

	public String getCol023() {
		return col023;
	}

	public void setCol023(String col023) {
		this.col023 = col023;
	}

	public String getCol024() {
		return col024;
	}

	public void setCol024(String col024) {
		this.col024 = col024;
	}

	public String getCol025() {
		return col025;
	}

	public void setCol025(String col025) {
		this.col025 = col025;
	}

	public String getCol026() {
		return col026;
	}

	public void setCol026(String col026) {
		this.col026 = col026;
	}

	public String getCol027() {
		return col027;
	}

	public void setCol027(String col027) {
		this.col027 = col027;
	}

	public String getCol028() {
		return col028;
	}

	public void setCol028(String col028) {
		this.col028 = col028;
	}

	public String getCol029() {
		return col029;
	}

	public void setCol029(String col029) {
		this.col029 = col029;
	}

	public String getCol030() {
		return col030;
	}

	public void setCol030(String col030) {
		this.col030 = col030;
	}

	public String getCol031() {
		return col031;
	}

	public void setCol031(String col031) {
		this.col031 = col031;
	}

	public String getCol032() {
		return col032;
	}

	public void setCol032(String col032) {
		this.col032 = col032;
	}

	public String getCol033() {
		return col033;
	}

	public void setCol033(String col033) {
		this.col033 = col033;
	}

	public String getCardid() {
		return cardid;
	}

	public void setCardid(String cardid) {
		this.cardid = cardid;
	}

	public String getCreateorg() {
		return createorg;
	}

	public void setCreateorg(String createorg) {
		this.createorg = createorg;
	}

	public String getCreater() {
		return creater;
	}

	public void setCreater(String creater) {
		this.creater = creater;
	}

	public String getCreatetime() {
		return createtime;
	}

	public void setCreatetime(String createtime) {
		this.createtime = createtime;
	}

	public String getHappentime() {
		return happentime;
	}

	public void setHappentime(String happentime) {
		this.happentime = happentime;
	}

	public String getModified() {
		return modified;
	}

	public void setModified(String modified) {
		this.modified = modified;
	}

	public String getRes4() {
		return res4;
	}

	public void setRes4(String res4) {
		this.res4 = res4;
	}

	public String getRes6() {
		return res6;
	}

	public void setRes6(String res6) {
		this.res6 = res6;
	}

	public String getUpdateorg() {
		return updateorg;
	}

	public void setUpdateorg(String updateorg) {
		this.updateorg = updateorg;
	}

	public String getUpdatetime() {
		return updatetime;
	}

	public void setUpdatetime(String updatetime) {
		this.updatetime = updatetime;
	}

	public static List<OldPhysique> convertData(Context context) {
		// OLD_MEDICINE_CN}
		List<OldPhysique> datas = new ArrayList<>();
		FDbManager fdb = FDbManager.getInstance(context);
		List<OLD_MEDICINE_CN> olds = fdb.findAllByWhere(OLD_MEDICINE_CN.class,"IS_UPDATE='" + "Y' AND CREATER='" + NovaApplication.getJgrno() + "'");
//		List<OLD_MEDICINE_CN> olds = fdb.findAll(OLD_MEDICINE_CN.class);
		OldPhysique oldself = null;
		for (OLD_MEDICINE_CN omc : olds) {
			oldself = new OldPhysique();
			oldself.setCol001(omc.getENERGY()); // (1)您精力充沛吗？（指精神头足，乐于做事）
			oldself.setCol002(omc.getTIRED()); // (2)您容易疲乏吗？（指体力如何，是否稍微活动一下或做一点家务劳动就感到累）
			oldself.setCol003(omc.getBREATH());// (3)您容易气短，呼吸短促，接不上气吗？
			oldself.setCol004(omc.getVOICE());// (4)您说话声音低弱无力吗? （指说话没有力气）
			oldself.setCol005(omc.getEMOTION());// (5)您感到闷闷不乐、情绪低沉吗?（指心情不愉快，情绪低落）
			oldself.setCol006(omc.getSPIRIT());// (6)您容易精神紧张、焦虑不安吗?（指遇事是否心情紧张）
			oldself.setCol007(omc.getALONE());// (7)您因为生活状态改变而感到孤独、失落吗？
			oldself.setCol008(omc.getFEAR());// (8)您容易感到害怕或受到惊吓吗?
			oldself.setCol009(omc.getWEIGHT());// (9)您感到身体超重不轻松吗?(感觉身体沉重)[BMI
												// 指数=体重（kg）/身高 2（m）]
			oldself.setCol010(omc.getEYE());// (10)您眼睛干涩吗?
			oldself.setCol011(omc.getFOOTHAND());// (11)您手脚发凉吗?（不包含周围温度低或穿的少导致的
													// 手脚发冷）
			oldself.setCol012(omc.getSTOMACH());// (12)您胃脘部、背部或腰膝部 怕冷吗？（指上腹部、背部、
												// 腰部或膝关节等，有一处或多 处怕冷）
			oldself.setCol013(omc.getCOLD());// (13)您比一般人耐受不了寒 冷吗？（指比别人容易害怕冬
												// 天或是夏天的冷空调、电扇 等)
			oldself.setCol014(omc.getINFLUENZA());// (14)您容易患感冒吗?（指每 年感冒的次数）
			oldself.setCol015(omc.getNASAL());// (15)您没有感冒时也会鼻塞、 流鼻涕吗?
			oldself.setCol016(omc.getSNORE());// (16)您有口黏口腻，或睡眠打 鼾吗？
			oldself.setCol017(omc.getALLERGY());// (17)您容易过敏(对药物、食
												// 物、气味、花粉或在季节交替、 气候变化时)吗?
			oldself.setCol018(omc.getURTICARIA());// (18)您的皮肤容易起荨麻疹 吗?
													// (包括风团、风疹块、风 疙瘩)
			oldself.setCol019(omc.getSKIN());// (19)您的皮肤在不知不觉中
												// 会出现青紫瘀斑、皮下出血吗?（指皮肤在没有外伤的情况下出现青一块紫一块的情
												// 况）
			oldself.setCol020(omc.getSCRATCH());// (20)您的皮肤一抓就红，并出 现抓痕吗?（指被指甲或钝物
												// 划过后皮肤的反应）
			oldself.setCol021(omc.getMOUTH());// (21)您皮肤或口唇干吗?
			oldself.setCol022(omc.getARMS());// (22)您有肢体麻或固定部位 疼痛的感觉吗？
			oldself.setCol023(omc.getGREASY());// (23)您面部或鼻部有油腻感 或者油亮发光吗?（指脸上或
												// 鼻子）
			oldself.setCol024(omc.getSPOT());// (24)您面色或目眶晦黯，或出 现褐色斑块/斑点吗?
			oldself.setCol025(omc.getECZEMA());// (25)您有皮肤湿疹、疮疖吗？
			oldself.setCol026(omc.getTHIRSTY());// (26)您感到口干咽燥、总想喝 水吗？
			oldself.setCol027(omc.getSMELL());// (27)您感到口苦或嘴里有异 味吗?（指口苦或口臭）
			oldself.setCol028(omc.getADBOMEN());// (28)您腹部肥大吗?（指腹部脂肪肥厚）
			oldself.setCol029(omc.getCOOLFOOD());// (29)您吃(喝)凉的东西会感到不舒服或者怕吃(喝)凉的东西吗？（指不喜欢吃凉的食物，或吃了凉的食物后会不舒服）
			oldself.setCol030(omc.getDEFECATE());// (30)您有大便黏滞不爽、解不尽的感觉吗?(大便容易粘在马桶上)
			oldself.setCol031(omc.getDEFECATEDRY());// (31)您容易大便干燥吗?
			oldself.setCol032(omc.getTONGUE());// (32)您舌苔厚腻或有舌苔厚厚的感觉吗?（如果自我感觉不清楚可由调查员观察后填写）
			oldself.setCol033(omc.getVEIN()); // (33)您舌下静脉瘀紫或增粗吗？（可由调查员辅助观察后填写）
			oldself.setCardid(omc.getIDCARD()); // 居民身份证/健康卡号
			oldself.setCreateorg(omc.getCREATEORG()); // 创建机构
			oldself.setCreater(omc.getCREATER());// 创建人
			oldself.setRes8("2");
			if (!TextUtils.isEmpty(omc.getCREATED_DATE().toString())) {
				oldself.setCreatetime(GlobalConts.datetimeFormat.format(new Date()));// 创建时间
				oldself.setHappentime(GlobalConts.datetimeFormat.format(omc.getCREATED_DATE()));// 随访时间
			}
			oldself.setModified(omc.getLAST_UPDATE_BY());// 修改人
			oldself.setUpdateorg(omc.getUPDATEORG());// 更新机构
			if (!TextUtils.isEmpty(omc.getLAST_UPDATE_DATE().toString())) {
				oldself.setUpdatetime(GlobalConts.datetimeFormat.format(omc.getLAST_UPDATE_DATE()));// 更新时间
			}
			List<OLD_MEDICINE_RESULT> omrs = fdb.findAllByWhere(OLD_MEDICINE_RESULT.class,
					"IDCARD='" + omc.getIDCARD() + "'");
			if (omrs != null && !(omrs.isEmpty())) {
				OLD_MEDICINE_RESULT omr = omrs.get(0);
				String[] m1 = new String[] { "1_1", "1_2", "1_3", "1_4", "1_5", "1_6" };
				String[] m2 = new String[] { "2_1", "2_2", "2_3", "2_4", "2_5", "2_6" };
				String[] m3 = new String[] { "3_1", "3_2", "3_3", "3_4", "3_5", "3_6" };
				String[] m4 = new String[] { "4_1", "4_2", "4_3", "4_4", "4_5", "4_6" };
				String[] m5 = new String[] { "5_1", "5_2", "5_3", "5_4", "5_5", "5_6" };
				String[] m6 = new String[] { "6_1", "6_2", "6_3", "6_4", "6_5", "6_6" };
				String[] m7 = new String[] { "7_1", "7_2", "7_3", "7_4", "7_5", "7_6" };
				String[] m8 = new String[] { "8_1", "8_2", "8_3", "8_4", "8_5", "8_6" };
				String[] m9 = new String[] { "9_1", "9_2", "9_3", "9_4", "9_5", "9_6" };
				String s1 = m(omr.getFAINT_ADVISING(), m1);
				String s2 = m(omr.getYANG_ADVISING(), m2);
				String s3 = m(omr.getYIN_ADVISING(), m3);
				String s4 = m(omr.getPHLEGMDAMP_ADVISING(), m4);
				String s5 = m(omr.getMUGGY_ADVISING(), m5);
				String s6 = m(omr.getBLOODSTASIS_ADVISING(), m6);
				String s7 = m(omr.getQICONSTRAINT_ADVISING(), m7);
				String s8 = m(omr.getCHARACTERISTIC_ADVISING(), m8);
				String s9 = m(omr.getMILD_ADVISING(), m9);
				String[] arrr = new String[] { s1, s2, s3, s4, s5, s6, s7, s8, s9 };
				String res4 = "";
				for (String arrstr : arrr) {
					if (!TextUtils.isEmpty(arrstr)) {
						res4 += arrstr + ",";
					}
				}
				if (res4.contains(",")) {
					res4 = res4.substring(0, res4.length() - 1);
					oldself.setRes4(res4);// 体质辨识指导
				}
				// 气虚质$阳虚质$阴虚质$痰湿质$湿热质$血瘀质
				if (TextUtils.isEmpty(omr.getFAINT_ADVISING_EX())) {
					omr.setFAINT_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getYANG_ADVISING_EX())) {
					omr.setYANG_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getYIN_ADVISING_EX())) {
					omr.setYIN_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getPHLEGMDAMP_ADVISING_EX())) {
					omr.setPHLEGMDAMP_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getMUGGY_ADVISING_EX())) {
					omr.setMUGGY_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getBLOODSTASIS_ADVISING_EX())) {
					omr.setBLOODSTASIS_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getQICONSTRAINT_ADVISING_EX())) {
					omr.setQICONSTRAINT_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getCHARACTERISTIC_ADVISING_EX())) {
					omr.setCHARACTERISTIC_ADVISING_EX("");
				}
				if (TextUtils.isEmpty(omr.getMILD_ADVISING_EX())) {
					omr.setMILD_ADVISING_EX("");
				}

				oldself.setRes6(
						omr.getFAINT_ADVISING_EX() + "$" + omr.getYANG_ADVISING_EX() + "$" + omr.getYIN_ADVISING_EX()
								+ "$" + omr.getPHLEGMDAMP_ADVISING_EX() + "$" + omr.getMUGGY_ADVISING_EX() + "$"
								+ omr.getBLOODSTASIS_ADVISING_EX() + "$" + omr.getQICONSTRAINT_ADVISING_EX() + "$"
								+ omr.getCHARACTERISTIC_ADVISING_EX() + "$" + omr.getMILD_ADVISING_EX());// 中医药保健指导
																											// 其他
			}
			datas.add(oldself);
		}
		return datas;
	}

	public static String m(String ms, String[] marr) {
		try {
			String str = "";
			if (!TextUtils.isEmpty(ms) && marr != null) {
				if (ms.contains(",")) {
					String[] a = ms.split(",");
					for (String astr : a) {
						if (isNum(astr)) {
							str += marr[Integer.parseInt(astr) - 1] + ",";
						}
					}
					if (str.contains(",")) {
						str = str.substring(0, str.length() - 1);
					}
				} else {
					try {
						int i = Integer.parseInt(ms);
						str = marr[i-1];
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			}
			return str;
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return "";
		}
	}

	public static boolean isNum(String str) {
		if (TextUtils.isEmpty(str)) {
			return false;
		}
		// final String number = "0123456789";
		// for (int i = 0; i < number.length(); i++) {
		// if (number.indexOf(str.charAt(i)) == -1) {
		// return false;
		// }
		// }
		return true;
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "oldphysiqueres4" + res4;
	}
}